//
//  BPBaseController.swift
//  BPWeiBo
//
//  Created by apple on 16/4/8.
//  Copyright © 2016年 apple. All rights reserved.
/*
swift中有多继承,然而OC中并没有,OCz中只有单继承
swift中的协议是直接写在继承的父类的后面,就是多继承
*/

import UIKit

//遵守协议
class BPBaseController: UITableViewController,BPBeforeLoginViewDeletage,UIGestureRecognizerDelegate {

    
    let webVc = BPOAuthViewController()
    
    //MARK:获取访客视图
    let v = BPBeforeLoginView()
    //MARK:定义用户是否登录的标记
    var userLogin = BPUserInfoViewModel.sharedUserInfoViewModel.userLogin
    //var userLogin = true
    var visiterView = BPBeforeLoginView()
    
    
    //MARK:根据用户是否登录 来选择显示 tableView 还是引导用户登录的界面
    //1. loadView 是苹果专门为手写代码准备的, 一旦实现了loadView并且没有实现super xib/sb就会自动失效
    //2. 在loadView如果根视图为nil 会自动调用loadView去实例化根视图
    //3.如果要自定义根视图 可以在loadView方法中去执行
    override func loadView() {
        super.loadView()
        
        userLogin ? super.loadView() : preparLoadBeforeLoginView()
        visiterView.deletage = self
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
    }
    
    
    //MARK:重写这个基类的跳转控制器的方法,实现第一个子控制器的左边的文字是首页的title
    
    
    //MARK:设置加载引导视图的方法
    private func preparLoadBeforeLoginView() {
        //let v = BPBeforeLoginView()
        
        view  = visiterView
        
        //MARK:设置导航条的按钮
        let rightBarItem: UIBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "login")
        rightBarItem.tintColor = UIColor.orangeColor()
        
        navigationItem.rightBarButtonItem = rightBarItem
        
        let leftBarItem: UIBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "register")
        leftBarItem.tintColor = UIColor.orangeColor()
        
        navigationItem.leftBarButtonItem = leftBarItem

    }
    
    //MARK:实现代理方法
    func login() {
        
        let nav = UINavigationController(rootViewController: webVc)
        
        presentViewController(nav, animated: true, completion: nil)
    }
    func register() {
        print("register")
    }
    
}
